public void reorderList(Node head) {//eg:1>2>3>4>5-----》1>5>2>4>3
        if (head == null) {
            System.out.println("链表为空 ");
        } else {//快慢指针找到中间结点
            Node fast = head;
            Node slow = head;
            while (fast != null && fast.next != null) {
                fast = fast.next.next;
                slow = slow.next;
            }
            Node cur = slow.next;//从中间结点位置开始反转链表
            Node tmp = slow;
            while (cur != null) {
                Node curNext = cur.next;
                cur.next = slow;
                slow = cur;
                cur = curNext;
            }
            tmp.next = null;//将链表从中间节点位置断开
            int flg = 1;
            Node tag = head;
            Node tmpNext = head.next;
            while (tag.next != null) {//依次遍历两个链表
                if (flg == 1) {
                    tag.next = slow;
                    slow = slow.next;
                } else {
                    tag.next = tmpNext;
                    tmpNext = tmpNext.next;
                }
                tag = tag.next;
                flg *= -1;
            }
        }
    }